<?xml version="1.0" encoding="UTF-8"?>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<!-- Testcase with a variety of 'display: flex' examples testing each
     possible value of the 'justify-content' property, and with each
     individual flex item being wider than the flexbox itself (so that
     there isn't any packing space available).
       * For 'flex-start'/'space-between', we should overflow on the end
         (right) side.
       * For 'flex-end', we should overflow on the start (left) side.
       * For 'center'/'space-around', we should overflow equally on both sides.
-->
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>CSS Test: Testing 'justify-content' in a horizontal flex container, and its effects on flex items that overflow, with margins/border/padding on flex items</title>
    <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
    <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#justify-content-property"/>
    <link rel="match" href="flexbox-justify-content-horiz-004-ref.xhtml"/>
    <style>
      body { margin-left: 100px; } /* So we can see left-overflowed stuff */
      div.flexbox {
        width: 30px;
        display: flex;
        margin-bottom: 4px;
      }
      div.a {
        height: 10px;
        flex: 0 0 35px;
        background: lightgreen;
        border-style: solid;
        border-color:     purple;
        border-top-width:    1px;
        border-right-width:  2px;
        border-bottom-width: 3px;
        border-left-width:   4px;
        padding: 2px;
      }
      div.b {
        height: 10px;
        flex: 0 0 40px;
        background: pink;
        padding: 4px 3px 2px 1px;
        margin: 2px 3px 4px 5px;
      }
      div.c {
        height: 10px;
        flex: 0 0 45px;
        background: orange;
        margin: 3px;
        border: 2px dashed teal;
      }
    </style>
  </head>
  <body>

    <!-- default (start) -->
    <div class="flexbox">
      <div class="a"/>
    </div>
    <div class="flexbox">
      <div class="a"/><div class="b"></div>
    </div>
    <div class="flexbox">
      <div class="a"/><div class="b"/><div class="c"/>
    </div>

    <!-- flex-start -->
    <div class="flexbox" style="justify-content: flex-start">
      <div class="a"/>
    </div>
    <div class="flexbox" style="justify-content: flex-start">
      <div class="a"/><div class="b"/>
    </div>
    <div class="flexbox" style="justify-content: flex-start">
      <div class="a"/><div class="b"/><div class="c"/>
    </div>

    <!-- flex-end -->
    <div class="flexbox" style="justify-content: flex-end">
      <div class="a"/>
    </div>
    <div class="flexbox" style="justify-content: flex-end">
      <div class="a"/><div class="b"/>
    </div>
    <div class="flexbox" style="justify-content: flex-end">
      <div class="a"/><div class="b"/><div class="c"/>
    </div>

    <!-- center -->
    <div class="flexbox" style="justify-content: center">
      <div class="a"/>
    </div>
    <div class="flexbox" style="justify-content: center">
      <div class="a"/><div class="b"/>
    </div>
    <div class="flexbox" style="justify-content: center">
      <div class="a"/><div class="b"/><div class="c"/>
    </div>

    <!-- space-between -->
    <div class="flexbox" style="justify-content: space-between">
      <div class="a"/>
    </div>
    <div class="flexbox" style="justify-content: space-between">
      <div class="a"/><div class="b"/>
    </div>
    <div class="flexbox" style="justify-content: space-between">
      <div class="a"/><div class="b"/><div class="c"/>
    </div>

    <!-- space-around -->
    <div class="flexbox" style="justify-content: space-around">
      <div class="a"/>
    </div>
    <div class="flexbox" style="justify-content: space-around">
      <div class="a"/><div class="b"/>
    </div>
    <div class="flexbox" style="justify-content: space-around">
      <div class="a"/><div class="b"/><div class="c"/>
    </div>

    <!-- space-evenly -->
    <div class="flexbox" style="justify-content: space-evenly">
      <div class="a"/>
    </div>
    <div class="flexbox" style="justify-content: space-evenly">
      <div class="a"/><div class="b"/>
    </div>
    <div class="flexbox" style="justify-content: space-evenly">
      <div class="a"/><div class="b"/><div class="c"/>
    </div>

    <!-- left -->
    <div class="flexbox" style="justify-content: left">
      <div class="a"/>
    </div>
    <div class="flexbox" style="justify-content: left">
      <div class="a"/><div class="b"/>
    </div>
    <div class="flexbox" style="justify-content: left">
      <div class="a"/><div class="b"/><div class="c"/>
    </div>

    <!-- right -->
    <div class="flexbox" style="justify-content: right">
      <div class="a"/>
    </div>
    <div class="flexbox" style="justify-content: right">
      <div class="a"/><div class="b"/>
    </div>
    <div class="flexbox" style="justify-content: right">
      <div class="a"/><div class="b"/><div class="c"/>
    </div>

  </body>
</html>
